With the advent of computers and digital typography, the number of different fonts has continued to grow. As a result, users often have wide flexibility in choosing fonts in various applications. Given the large number of available fonts, the task of recognizing (i.e., classifying) fonts or identifying similar fonts has become more challenging. In particular, there are a number of scenarios in which it may be desirable to recognize the font or identify the similarity between two fonts among a collection of fonts. For instance, given an image containing text, a user may wish to simply identify the font in the image. In another example, a user may wish to find a font that is similar to the font in the image because use of the font in the image is costly or not available in a particular application.
Some systems have been developed for recognizing fonts and identifying similar fonts. However, such systems often use a limited amount and type of information that restricts their ability to recognize or identify similar fonts. In particular, these systems were developed with a small scale of font categories. As a result, these systems are unable to recognize fonts or identify similar fonts for fonts that are not known by the system. Further, because there are subtle variances between fonts within the real-world images and fonts already known to the system, the accuracy of these systems are deficient in both recognizing fonts and identifying similar fonts. As a result of these and other limitations, such systems rely on significant user interaction and subjectivity and are often inadequate in recognizing and sufficiently comparing fonts in real-world images.